﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace View
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {

            //Abre automaticamente os usuários cadastrados no sistema
            tsbtnUsuarios_Click(this, e);

        }

        private void tsbtnUsuarios_Click(object sender, EventArgs e)
        {
            frmUsuarios frmusuario = (frmUsuarios)criaFormularios(typeof(frmUsuarios),null);
            frmusuario.MdiParent = this;
            frmusuario.Show();
        }

        /// <summary>
        /// Método para criação de formulários MDIChild
        /// </summary>
        /// <param name="tipoFormulario">Classe do Form - Ex: typeof(frmUsuario) </param>
        /// <param name="parametros">Array de parametros do construtor do form 
        /// se passado nulo ou vazio, o construtor padrão será invocado</param>
        /// <returns>Form</returns>
        private Form criaFormularios( Type tipoFormulario , Object [] parametros)
        {
            Form[] formulariosAbertos = this.MdiChildren;

            foreach (Form formulario in formulariosAbertos)
                if (formulario.GetType() == tipoFormulario)
                    return formulario;

            return (Form)Activator.CreateInstance(tipoFormulario,parametros);
        }
        private void configuracoesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmConfiguracoes frmConfig = (frmConfiguracoes)criaFormularios(typeof(frmConfiguracoes), null);
            frmConfig.ShowDialog();
        }

        private void valoresToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmValores frmValores = (frmValores)criaFormularios(typeof(frmValores), null);
            frmValores.ShowDialog();
        }

        private void tsbtnConfig_Click(object sender, EventArgs e)
        {
            frmConfiguracoes frmConfig = (frmConfiguracoes)criaFormularios(typeof(frmConfiguracoes), null);
            frmConfig.ShowDialog();
        }

        private void valoresOficiaisToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmValores frmValoresOficiais = (frmValores)criaFormularios(typeof(frmValores), null);
            frmValoresOficiais.MdiParent = this;
            frmValoresOficiais.Show();
        }
    }
}
